package com.dragon.modules.yuegou.entity.merchant;

import com.baomidou.mybatisplus.annotation.TableName;
import com.dragon.modules.yuegou.enums.merchant.MerchantLevelRuleBargainStatus;
import com.dragon.modules.yuegou.enums.merchant.MerchantLevelRuleCashCouponStatus;
import com.dragon.modules.yuegou.enums.merchant.MerchantLevelRuleGiftCouponStatus;
import com.dragon.modules.yuegou.enums.merchant.MerchantLevelRuleGroupStatus;
import com.dragon.modules.yuegou.enums.merchant.MerchantLevelRuleIsDefault;
import com.dragon.modules.yuegou.enums.merchant.MerchantLevelRuleRecYuegouStatus;
import com.dragon.modules.yuegou.enums.merchant.MerchantLevelRuleStatus;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 等级规则实体类<br>
 * 对应的表为：mer_merchant_level_rule<br>
 *
 * @author pbuilder generated
 * @date 2019-09-23 15:26:31
 * @company sgy
 * @version 2.0
 */
@TableName("mer_merchant_level_rule")
@ApiModel(description = "等级规则")
public class MerchantLevelRuleEntity {

	protected String id;

	/** 等级名称 */
	@ApiModelProperty("等级名称")
	protected String levelName;

	/** [枚举]是否默认：1-是-YES、0-否-NO */
	@ApiModelProperty("[枚举]是否默认：1-是-YES、0-否-NO")
	protected MerchantLevelRuleIsDefault isDefault;

	/** [枚举]状态：1-已上架-NORMAL、0-已下架-DISABLE */
	@ApiModelProperty("[枚举]状态：1-已上架-NORMAL、0-已下架-DISABLE")
	protected MerchantLevelRuleStatus status;

	/** 等级图片 */
	@ApiModelProperty("等级图片")
	protected String img;

	/** 等级说明 */
	@ApiModelProperty("等级说明")
	protected String description;

	/** [枚举]是否开启天天抢券:：1-开启-ON、0-未开启-OFF */
	@ApiModelProperty("[枚举]是否开启天天抢券:：1-开启-ON、0-未开启-OFF")
	protected MerchantLevelRuleCashCouponStatus cashCouponStatus;

	/** [枚举]是否开启全民拼团：1-开启-ON、0-未开启-OFF */
	@ApiModelProperty("[枚举]是否开启全民拼团：1-开启-ON、0-未开启-OFF")
	protected MerchantLevelRuleGroupStatus groupStatus;

	/** [枚举]是否开启疯狂砍价：1-开启-ON、0-未开启-OFF */
	@ApiModelProperty("[枚举]是否开启疯狂砍价：1-开启-ON、0-未开启-OFF")
	protected MerchantLevelRuleBargainStatus bargainStatus;

	/** [枚举]是否开启推荐到月悦购：1-开启-ON、0-未开启-OFF */
	@ApiModelProperty("[枚举]是否开启推荐到月悦购：1-开启-ON、0-未开启-OFF")
	protected MerchantLevelRuleRecYuegouStatus recYuegouStatus;

	/** [枚举]是否开启创建礼品券：1-开启-ON、0-未开启-OFF */
	@ApiModelProperty("[枚举]是否开启创建礼品券：1-开启-ON、0-未开启-OFF")
	protected MerchantLevelRuleGiftCouponStatus giftCouponStatus;

	/** 服务费折扣 */
	@ApiModelProperty("服务费折扣")
	protected BigDecimal serviceDiscount;

	/** 每天限创礼品券数量 */
	@ApiModelProperty("每天限创礼品券数量")
	protected Integer giftCouponLimit;

	/**  */
	protected LocalDateTime createdTime;

	/**  */
	protected String createdBy;

	/**  */
	protected LocalDateTime modifiedTime;

	/**  */
	protected String modifiedBy;

	/**
	 * 构造一个空等级规则实体对象
	 */
	public MerchantLevelRuleEntity(){
		super();
	}

	/**
	 * 依据其它对象的信息构造一个等级规则实体对象
	 *
	 * @param other 其它对象
	 */
	public MerchantLevelRuleEntity(MerchantLevelRuleEntity other){
		super();
		this.id = other.id;
		this.levelName = other.levelName;
		this.isDefault = other.isDefault;
		this.status = other.status;
		this.img = other.img;
		this.description = other.description;
		this.cashCouponStatus = other.cashCouponStatus;
		this.groupStatus = other.groupStatus;
		this.bargainStatus = other.bargainStatus;
		this.recYuegouStatus = other.recYuegouStatus;
		this.giftCouponStatus = other.giftCouponStatus;
		this.serviceDiscount = other.serviceDiscount;
		this.giftCouponLimit = other.giftCouponLimit;
		this.createdTime = other.createdTime;
		this.createdBy = other.createdBy;
		this.modifiedTime = other.modifiedTime;
		this.modifiedBy = other.modifiedBy;
	}


	/**
	 * 获取
	 *
	 * @return id
	 */
	public String getId() {
		return id;
	}

	/**
	 * 设置
	 *
	 * @param id
	 */
	public void setId(String id) {
		this.id = id;
	}

	/**
	 * 获取等级名称
	 *
	 * @return levelName 等级名称
	 */
	public String getLevelName() {
		return levelName;
	}

	/**
	 * 设置等级名称
	 *
	 * @param levelName 等级名称
	 */
	public void setLevelName(String levelName) {
		this.levelName = levelName;
	}

	/**
	 * 获取[枚举]是否默认：1-是-YES、0-否-NO
	 *
	 * @return isDefault [枚举]是否默认：1-是-YES、0-否-NO
	 */
	public MerchantLevelRuleIsDefault getIsDefault() {
		return isDefault;
	}

	/**
	 * 设置[枚举]是否默认：1-是-YES、0-否-NO
	 *
	 * @param isDefault [枚举]是否默认：1-是-YES、0-否-NO
	 */
	public void setIsDefault(MerchantLevelRuleIsDefault isDefault) {
		this.isDefault = isDefault;
	}

	/**
	 * 获取[枚举]状态：1-已上架-NORMAL、0-已下架-DISABLE
	 *
	 * @return status [枚举]状态：1-已上架-NORMAL、0-已下架-DISABLE
	 */
	public MerchantLevelRuleStatus getStatus() {
		return status;
	}

	/**
	 * 设置[枚举]状态：1-已上架-NORMAL、0-已下架-DISABLE
	 *
	 * @param status [枚举]状态：1-已上架-NORMAL、0-已下架-DISABLE
	 */
	public void setStatus(MerchantLevelRuleStatus status) {
		this.status = status;
	}

	/**
	 * 获取等级图片
	 *
	 * @return img 等级图片
	 */
	public String getImg() {
		return img;
	}

	/**
	 * 设置等级图片
	 *
	 * @param img 等级图片
	 */
	public void setImg(String img) {
		this.img = img;
	}

	/**
	 * 获取等级说明
	 *
	 * @return description 等级说明
	 */
	public String getDescription() {
		return description;
	}

	/**
	 * 设置等级说明
	 *
	 * @param description 等级说明
	 */
	public void setDescription(String description) {
		this.description = description;
	}

	/**
	 * 获取[枚举]是否开启天天抢券:：1-开启-ON、0-未开启-OFF
	 *
	 * @return cashCouponStatus [枚举]是否开启天天抢券:：1-开启-ON、0-未开启-OFF
	 */
	public MerchantLevelRuleCashCouponStatus getCashCouponStatus() {
		return cashCouponStatus;
	}

	/**
	 * 设置[枚举]是否开启天天抢券:：1-开启-ON、0-未开启-OFF
	 *
	 * @param cashCouponStatus [枚举]是否开启天天抢券:：1-开启-ON、0-未开启-OFF
	 */
	public void setCashCouponStatus(MerchantLevelRuleCashCouponStatus cashCouponStatus) {
		this.cashCouponStatus = cashCouponStatus;
	}

	/**
	 * 获取[枚举]是否开启全民拼团：1-开启-ON、0-未开启-OFF
	 *
	 * @return groupStatus [枚举]是否开启全民拼团：1-开启-ON、0-未开启-OFF
	 */
	public MerchantLevelRuleGroupStatus getGroupStatus() {
		return groupStatus;
	}

	/**
	 * 设置[枚举]是否开启全民拼团：1-开启-ON、0-未开启-OFF
	 *
	 * @param groupStatus [枚举]是否开启全民拼团：1-开启-ON、0-未开启-OFF
	 */
	public void setGroupStatus(MerchantLevelRuleGroupStatus groupStatus) {
		this.groupStatus = groupStatus;
	}

	/**
	 * 获取[枚举]是否开启疯狂砍价：1-开启-ON、0-未开启-OFF
	 *
	 * @return bargainStatus [枚举]是否开启疯狂砍价：1-开启-ON、0-未开启-OFF
	 */
	public MerchantLevelRuleBargainStatus getBargainStatus() {
		return bargainStatus;
	}

	/**
	 * 设置[枚举]是否开启疯狂砍价：1-开启-ON、0-未开启-OFF
	 *
	 * @param bargainStatus [枚举]是否开启疯狂砍价：1-开启-ON、0-未开启-OFF
	 */
	public void setBargainStatus(MerchantLevelRuleBargainStatus bargainStatus) {
		this.bargainStatus = bargainStatus;
	}

	/**
	 * 获取[枚举]是否开启推荐到月悦购：1-开启-ON、0-未开启-OFF
	 *
	 * @return recYuegouStatus [枚举]是否开启推荐到月悦购：1-开启-ON、0-未开启-OFF
	 */
	public MerchantLevelRuleRecYuegouStatus getRecYuegouStatus() {
		return recYuegouStatus;
	}

	/**
	 * 设置[枚举]是否开启推荐到月悦购：1-开启-ON、0-未开启-OFF
	 *
	 * @param recYuegouStatus [枚举]是否开启推荐到月悦购：1-开启-ON、0-未开启-OFF
	 */
	public void setRecYuegouStatus(MerchantLevelRuleRecYuegouStatus recYuegouStatus) {
		this.recYuegouStatus = recYuegouStatus;
	}

	/**
	 * 获取[枚举]是否开启创建礼品券：1-开启-ON、0-未开启-OFF
	 *
	 * @return giftCouponStatus [枚举]是否开启创建礼品券：1-开启-ON、0-未开启-OFF
	 */
	public MerchantLevelRuleGiftCouponStatus getGiftCouponStatus() {
		return giftCouponStatus;
	}

	/**
	 * 设置[枚举]是否开启创建礼品券：1-开启-ON、0-未开启-OFF
	 *
	 * @param giftCouponStatus [枚举]是否开启创建礼品券：1-开启-ON、0-未开启-OFF
	 */
	public void setGiftCouponStatus(MerchantLevelRuleGiftCouponStatus giftCouponStatus) {
		this.giftCouponStatus = giftCouponStatus;
	}

	/**
	 * 获取服务费折扣
	 *
	 * @return serviceDiscount 服务费折扣
	 */
	public BigDecimal getServiceDiscount() {
		return serviceDiscount;
	}

	/**
	 * 设置服务费折扣
	 *
	 * @param serviceDiscount 服务费折扣
	 */
	public void setServiceDiscount(BigDecimal serviceDiscount) {
		this.serviceDiscount = serviceDiscount;
	}

	/**
	 * 获取每天限创礼品券数量
	 *
	 * @return giftCouponLimit 每天限创礼品券数量
	 */
	public Integer getGiftCouponLimit() {
		return giftCouponLimit;
	}

	/**
	 * 设置每天限创礼品券数量
	 *
	 * @param giftCouponLimit 每天限创礼品券数量
	 */
	public void setGiftCouponLimit(Integer giftCouponLimit) {
		this.giftCouponLimit = giftCouponLimit;
	}

	/**
	 * 获取
	 *
	 * @return createdTime
	 */
	public LocalDateTime getCreatedTime() {
		return createdTime;
	}

	/**
	 * 设置
	 *
	 * @param createdTime
	 */
	public void setCreatedTime(LocalDateTime createdTime) {
		this.createdTime = createdTime;
	}

	/**
	 * 获取
	 *
	 * @return createdBy
	 */
	public String getCreatedBy() {
		return createdBy;
	}

	/**
	 * 设置
	 *
	 * @param createdBy
	 */
	public void setCreatedBy(String createdBy) {
		this.createdBy = createdBy;
	}

	/**
	 * 获取
	 *
	 * @return modifiedTime
	 */
	public LocalDateTime getModifiedTime() {
		return modifiedTime;
	}

	/**
	 * 设置
	 *
	 * @param modifiedTime
	 */
	public void setModifiedTime(LocalDateTime modifiedTime) {
		this.modifiedTime = modifiedTime;
	}

	/**
	 * 获取
	 *
	 * @return modifiedBy
	 */
	public String getModifiedBy() {
		return modifiedBy;
	}

	/**
	 * 设置
	 *
	 * @param modifiedBy
	 */
	public void setModifiedBy(String modifiedBy) {
		this.modifiedBy = modifiedBy;
	}

	public String toString() {
		return new StringBuilder().append("MerchantLevelRuleEntity{").
				append("id=").append(id).
				append(",levelName=").append(levelName).
				append(",isDefault=").append(isDefault).
				append(",status=").append(status).
				append(",img=").append(img).
				append(",description=").append(description).
				append(",cashCouponStatus=").append(cashCouponStatus).
				append(",groupStatus=").append(groupStatus).
				append(",bargainStatus=").append(bargainStatus).
				append(",recYuegouStatus=").append(recYuegouStatus).
				append(",giftCouponStatus=").append(giftCouponStatus).
				append(",serviceDiscount=").append(serviceDiscount).
				append(",giftCouponLimit=").append(giftCouponLimit).
				append(",createdTime=").append(createdTime).
				append(",createdBy=").append(createdBy).
				append(",modifiedTime=").append(modifiedTime).
				append(",modifiedBy=").append(modifiedBy).
				append('}').toString();
	}

	/**
	 * 复制对象
	 *
	 * @return 复制后的新实体对象
	 */
	public MerchantLevelRuleEntity copy() {
		return new MerchantLevelRuleEntity(this);
	}

	/**  */
	public static final String COL_ID = "id";

	/** 等级名称 */
	public static final String COL_LEVEL_NAME = "level_name";

	/** [枚举]是否默认：1-是-YES、0-否-NO */
	public static final String COL_IS_DEFAULT = "is_default";

	/** [枚举]状态：1-已上架-NORMAL、0-已下架-DISABLE */
	public static final String COL_STATUS = "status";

	/** 等级图片 */
	public static final String COL_IMG = "img";

	/** 等级说明 */
	public static final String COL_DESCRIPTION = "description";

	/** [枚举]是否开启天天抢券:：1-开启-ON、0-未开启-OFF */
	public static final String COL_CASH_COUPON_STATUS = "cash_coupon_status";

	/** [枚举]是否开启全民拼团：1-开启-ON、0-未开启-OFF */
	public static final String COL_GROUP_STATUS = "group_status";

	/** [枚举]是否开启疯狂砍价：1-开启-ON、0-未开启-OFF */
	public static final String COL_BARGAIN_STATUS = "bargain_status";

	/** [枚举]是否开启推荐到月悦购：1-开启-ON、0-未开启-OFF */
	public static final String COL_REC_YUEGOU_STATUS = "rec_yuegou_status";

	/** [枚举]是否开启创建礼品券：1-开启-ON、0-未开启-OFF */
	public static final String COL_GIFT_COUPON_STATUS = "gift_coupon_status";

	/** 服务费折扣 */
	public static final String COL_SERVICE_DISCOUNT = "service_discount";

	/** 每天限创礼品券数量 */
	public static final String COL_GIFT_COUPON_LIMIT = "gift_coupon_limit";

	/**  */
	public static final String COL_CREATED_TIME = "created_time";

	/**  */
	public static final String COL_CREATED_BY = "created_by";

	/**  */
	public static final String COL_MODIFIED_TIME = "modified_time";

	/**  */
	public static final String COL_MODIFIED_BY = "modified_by";
}